如何在Android Studio 1中创建签名apk时禁用Eclipse之类的错误
Posted
技术标签:
【中文标题】如何在Android Studio 1中创建签名apk时禁用Eclipse之类的错误【英文标题】:How to disable error like Eclipse while creating signed apk in Android Studio 1 【发布时间】:2015-02-23 00:19:52 【问题描述】:我的班级有问题,但是当我使用电缆连接到 android studio 运行它时,它在我的手机上运行良好,但是当我生成签名的 apk 时,我收到如下所示的班级错误
Error:Error: This fragment inner class should be static (app.browser.HomeActivity.MyWebBrowser) [ValidFragment]
我无法更改类静态,因为当我放置静态时,这个子类上下文会显示错误,所以请帮我解决这个问题,我想在生成签名 apk 时禁用此错误。请任何人都可以建议我。
我的代码..
public class HomeActivity extends FragmentActivity implements ActionBar.TabListener
private ActionBar.Tab iTab;
static String TAB_TITLE="Untitle";
private ViewPager viewPager;
static TabsPageAdapter mAdapter;
static android.app.ActionBar actionBar;
Context context;
Button btNewtab,btCloseTab,btTabCount;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
context=HomeActivity.this;
objectReferences();
createDir();
actionBar =getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setHomeButtonEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.hide();
mAdapter = new TabsPageAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
viewPager.setOffscreenPageLimit(500);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener()
@Override
public void onPageScrolled(int i, float v, int i2)
@Override
public void onPageSelected(int i)
// mAdapter.notifyDataSetChanged();
PAGE_CURRENT=i;
System.out.println("CURRENT PAGE DISCRIPTION : "+PAGE_CURRENT);
@Override
public void onPageScrollStateChanged(int i)
);
//_________________TABS 实现方法_________________________
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction)
viewPager.setCurrentItem(tab.getPosition());
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction)
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction)
public class TabsPageAdapter extends FragmentStatePagerAdapter
public TabsPageAdapter(FragmentManager fm)
super(fm);
@Override
public Fragment getItem(int i)
return new MyWebBrowser();
@Override
public int getItemPosition(Object object)
return PagerAdapter.POSITION_NONE;
@Override
public int getCount()
return COUNT_TAB;
//____________________________________________
//_____________BROWSER CLASS____________________
//____________________________________________
public class MyWebBrowser extends Fragment implements View.OnClickListener,View.OnLongClickListener
View rootView;
@SuppressLint("AddjavascriptInterface")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
rootView = inflater.inflate(R.layout.my_web_browser, container, false);
return rootView;
听说我出于个人原因删除了我的内容,请就此提出建议,谢谢各位
【问题讨论】:
您能提供更多代码吗? @vigneshearan-m 我编辑了问题,请建议我,再次感谢 我没有找到任何线索..我认为您应该为您的主要活动扩展 ActionBarActivtiy,您创建上下文实例变量的目的是什么,您是否为片段使用单独的类文件?跨度> 再次感谢重播,是的,我使用像 DownloadManager 一样需要 baseContext 和 shardPredferences ,并且还使用 Intent 来启动另一个活动,当我在 MyWebBrowser 类中使用静态方法时,这都需要删除静态方法,当不使用它时错误消失了,项目在设备中运行但不生成签名的apk 你应该使用它而不是像你一样访问上下文,你在这里定义为静态的方法我找不到。 【参考方案1】:我认为您应该尝试在 build.gradle 中添加以下脚本。 (必须写在 android 标签中)
lintOptions
abortOnError false
当您的发布构建通过 lint 生成错误时,构建任务不会中止。
【讨论】:
哇,这就是我想要的,谢谢大家,再次感谢,但是生成了apk,但仍然存在 哦,没关系,只是 lint 错误。您可以在 build/outputs/lint-results.html 中找到 lint 报告,它会告诉您如何修复警告或错误。 谢谢比尔,你给了我新的技巧来查看 lint 错误,非常感谢【参考方案2】:好的,首先您可以尝试将您的课程更改为像这样的 statci - Public class MyClass --> Public static class MyClass
或者您可以转到您的 eclipse 设置,然后转到 lint 首选项,然后取消选中其写入位置的标记,以便在导出时全面检查错误。或者您可以拒绝您的 FragmentActivity 就像静态一样。但我建议您不要扩展其他任何东西,而只扩展活动,然后实现其余部分并在您的 MainActivity 中声明 FragmentActivity。希望这会有所帮助。
【讨论】:
感谢您的重播,但我在 Android Studio 中制作并运行项目,而且我想将类更改为静态,这是可能的,而且我们在 Eclipse 中取消选中 lint 错误,就像可能一样在 Android Studio 1 中。 我们可以使用 cunstructer 吗?如果是,请告诉我该怎么做?【参考方案3】:最后我解决了错误,只是添加了如下脚本并最好地尊重比尔。
lintOptions
abortOnError false
android下
感谢所有给我答案的人
【讨论】:
以上是关于如何在Android Studio 1中创建签名apk时禁用Eclipse之类的错误的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Xamarin在Visual Studio中创建Android应用
如何在 Android Studio 1.4 中创建横向布局
如何在 Android Studio 中创建自定义图像按钮?