Soru Türetilmiş IMarketBillingService.java dosyasında tutulma uyarısını nasıl devre dışı bırakırım?


Millet, Halihazırda Google tarafından yeni satın alınan uygulama içi satın alma kodunun bir parçası olan IMarketBillingService.java dosyasının 80 satırında 1 uyarıya sahip bir android uygulamasına sahibim. Uyarısı okur:

IMarketBillingService.Stub.Proxy türünden getInterfaceDescriptor () yöntemi hiçbir zaman yerel olarak kullanılmaz

Bu dosya türetilmiş bir dosyadır ve düzenlenemez.

Bu uyarıyı görmezden gelebileceğimin farkındayım; Ancak, projelerimin sıfır hata ve uyarıları olmasını istiyorum. Bunun özellikle dağıtılmış ekiplerle çalışırken faydalı bir ilke olduğunu düşünüyorum.

Birisi bana nasıl tutulması gerektiğini söyler bu uyarıyı devre dışı bırakmak / yoksaymak?

Teşekkürler.


22
2018-04-04 20:45


Menşei




Cevaplar:


Bu uyarıdan, yöntemin özel bir yöntem olduğunu varsayıyorum, doğru mu? dosyayı düzenleyemiyorsanız, yani @SuppressWarnings direktifini ekleyemezsiniz, bunu devre dışı bırakabileceğinizi düşünmüyorum.

(Eclipse'de uyarı ayarlarını değiştirebilirsiniz, ancak bunu istediğinizi düşünmüyorum :))


7
2018-04-04 21:35



Bu, özel bir statik sınıf oluşturmanın genel bir yöntemidir ... bu yüzden, bunu devre dışı bırakabileceğimi düşünmüyorum. - esilver
Bu probleme en doğru çözümü içeren pradeepmcl ile cevap bölümüne bakınız. - Syntax


Tutulma yama için dikkat edin Hata Kimliği 220928. Hareket halindeyken gen dizinindeki tüm uyarıları kaldırabilirsiniz.


18
2017-12-12 23:05



Bu şimdi Juno'da mevcut. Kaynak kökü sağ tıklayıp Özellikler'i seçerek yaparsınız. Daha sonra "Properties for <dir>" iletişim kutusunun Java Derleyicisi bölümünde, denetlediğiniz bir "İsteğe bağlı derleme sorunlarını yoksay" onay kutusu vardır. - Dave Cameron
Eclipse 3.7'de bunu yapmanın herhangi bir yolu var mı? - dfrankow
@dfrankow Gen dizini, Özellikler, Java Derleyici üzerine sağ tıklayın. İsteğe bağlı derleyici sorunlarını yok sayın. - Michael A.
@MichaelA. Cevabınız için minnettarım, ancak "Özellikler" i tıklayıp sağ tıklattığımda "Kaynak" ve "Çalıştır / Hata Ayıklama Ayarları" aldım. "Java Derleyicisi" alt menüsü yok. - dfrankow


Juno'dan itibaren, gen klasör ve seçin İsteğe bağlı derleme sorunlarını yoksay. Hatanın daha geniş bir açıklamasına bakın İşte.

enter image description here


8
2017-12-17 15:48





Uygulamanıza hiçbir şey yapmadan bir satır koyabilirsiniz (yöntem bir Dizge döndürürse)

String junk = yourInterfaceName.getInterfaceDescriptor();

Bunu yapabilir, ancak daha sonra bir 'gereksiz' kullanılmamış 'uyarısı alabilirsiniz, bu durumda bunun üzerine bir @SuppressWarnings direktifini kullanabilirsiniz.

Şahsen ben asıl uyarıyla yaşayabiliyordum ve ekibin geri kalanı 'bu derleme x uyarısı üretiyor ve daha fazla' bilmeme izin veriyor.


1
2018-04-04 21:25



Uyarı sadece yerel / özel üyeler için görünür. - MByD
@MByD - Aslında, otomatik olarak oluşturulan dosyada 'public' olarak yer alıyor ancak özelmiş gibi davranıyor. 'Gen' klasöründe bir yöntem de ilişkili .aidl dosyasında tanımlanmadıkça, kodun geri kalanı için kapsamda olmadığını düşünüyorum. Yani prensipte haklısınız gibi gözüküyor. Arayın .getInterfaceDescriptor () - NickT


Uyarıları yerel olarak bastırabilirsiniz. Sorunlar bölmesinde aşağıya açılan menüyü ve "İçeriği yapılandır" ı tıklamanız yeterlidir. Ardından, "Aşağıda kontrol edilen tüm yapılandırmalarla eşleşen öğeleri göster" i seçin ve tümünü kontrol edin. "Project'teki Hatalar / Uyarılar" başlıklı başlığı değiştirin ve kapsamı, gen klasörü dışındaki tüm klasörleri ve dosyaları içeren yeni bir Çalışma Kümesi olarak değiştirin.

Bu yardımcı olur umarım!


1
2018-06-26 19:26





en uygun çözüm, IInAppBillingService.aidl iabHelper ile birlikte başvurulan bir kütüphane projesine girip, kullanılmayan özel üyeleri yok sayar. referans.

Böyle bir proje, gerçek projede kullanılmayan özel üyelere bildirilmek üzere uyarıdan kurtulabilir. şu an sahip olmak ignore optional compile problems için etkin gen

(çalışırken).


0
2017-09-29 00:40